Soru & Cevap

dialpad USSD kodu çalıştırma hatası

20.09.2016 - 06:23

Merhaba,

Custom dialpad uygulaması üzerinde çalışıyorum. Basit olarak anlatmak gerekirse, bir edittext  üzerine (android:editable="false") 10 tane rakam (0-9 arası) ve * ile # simgelerini buttonlar aracılığı ile editText1.append("0"); editText1.append("*"); alıyorum. Aşağıdaki şekilde de aramayı başlatıyorum.

Fakat USSD kodlarını çalıştırırken (örn: *XXX#) şeklindeki bir kodu, arama ekranına *XXX şeklinde alıyor ve USSD kodu çalıştırılamıyor. Nasıl bir yöntemle bu sorunu çözebilirim? Şimdiden teşekkürler.

/* EDITTEXTTEN ALINAN NUMARANIN ARANMASI */


dial.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				String dialing_number = editText1.getText().toString();

					Intent callIntent = new Intent(Intent.ACTION_CALL);
					callIntent.setData(Uri.parse("tel:" + dialing_number));
					startActivity(callIntent);
					vb.vibrate(50);
					finish();
					return;
				}
			}
		});

 

 

 

/* (BUTONLARA ATANAN FONKSİYON) */


editText1 = (EditText) findViewById(R.id.editText1);
Button button1;

button1 = (Button) findViewById(R.id.button1);

button1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				editText1.append("1");
				
			}
		});

 

254 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user betulylmzr
betulylmzr
20.09.2016 - 09:52

Android manifest dosyasında izinler verdiniz mi?


if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + dialing_number)); startActivity(intent); }
 

Mehmet Nazif Baykal
20.09.2016 - 12:31
Evet, manifest dosyasında arama izni var. Zaten herhangi bir telefon numarasına çağrı göndermede sorun yok. Sadece USSD kodlarını çalıştırırken # simgesi sorun oluyor.
Mehmet Nazif Baykal
22.09.2016 - 05:51
Merhaba, yukarıda sorduğum sorunun cevabını farklı bir kaynaktan buldum. Buna benzer bir çalışma içinde olan arkadaşlar için USSD kodu çalıştırma sorununun giderilmiş hali aşağıdaki şekildedir. Betül Yılmazer hanım, size de teşekkür ediyorum. Çağrı başlatma intenti : Intent callIntent = new Intent(Intent.ACTION_CALL, Uri .fromParts("tel", dialing_number, null)); callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(callIntent); vb.vibrate(50); finish();